Home use console-based video games can be played in network-based multi-player modes or in off-line multi- and single-player modes. Network-based multi-player games allow different players at remote locations to play a game simultaneously, each controlling a particular enemy or comrade character in a common game space or simulated environment. HALO®, for example, is a multi-player game published by the Microsoft Corporation of Redmond, Wash., that has a cooperative multi-player mode where each player controls a character and the characters must cooperate to accomplish game objectives. Other known multi-player games are competitive in nature. For example, first person shooter (FPS) games such as DOOM®, QUAKE®, and UNREAL™ each have one or more multi-player modes where each player controls a character in a common game space, and each player attempts to kill (also known as “frag”) the other players' characters.
In single-player games, the player often assumes the role of a main character that interacts with enemy and/or comrade characters in a common game space. The behavior of enemy and comrade characters (hereinafter “non-player characters” or “NPCs”) is typically controlled by program-defined artificial intelligence (AI) or other program routines. With simple program routines, the behavior of the NPCs tends to follow stereotypic patterns that are not conducive to repeated play because the behavior becomes predictable. On the other hand, more complex AI routines that include elements of machine learning can make winning against NPCs frustratingly difficult. The goal of carefully crafting the AI or program routines is usually to produce NPC behavior that gives the illusion of playing against a living person. In practice, however, it is extremely difficult to create NPC behavior of this level and complexity. As a result, it is difficult to add elements of surprise and unpredictability to conventional single-player games. Using random number selection to vary NPC behavior and embedding one-time-only gimmicks into the NPC routines are two known methods for adding the elements of unpredictability and surprise to single-player games.